<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<link rel="STYLESHEET" href="lib.css" type='text/css' />
<link rel="SHORTCUT ICON" href="../icons/pyfav.png" type="image/png" />
<link rel='start' href='../index.html' title='Python documentation Index' />
<link rel="first" href="lib.html" title='Python library Reference' />
<link rel='contents' href='contents.html' title="Contents" />
<link rel='index' href='genindex.html' title='Index' />
<link rel='last' href='about.html' title='About this document...' />
<link rel='help' href='about.html' title='About this document...' />
<link rel="next" href="node694.html" />
<link rel="prev" href="node692.html" />
<link rel="parent" href="node692.html" />
<link rel="next" href="node694.html" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name='aesop' content='information' />
<title>20.1.6.1 Setting Options </title>
</head>
<body>
<div class="navigation">
<div id='top-navigation-panel' xml:id='top-navigation-panel'>
<table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr>
<td class='online-navigation'><a rel="prev" title="20.1.6 handy Reference"
  href="node692.html"><img src='../icons/previous.png'
  border='0' height='32'  alt='Previous Page' width='32' /></a></td>
<td class='online-navigation'><a rel="parent" title="20.1.6 handy Reference"
  href="node692.html"><img src='../icons/up.png'
  border='0' height='32'  alt='Up one Level' width='32' /></a></td>
<td class='online-navigation'><a rel="next" title="20.1.6.2 the Packer"
  href="node694.html"><img src='../icons/next.png'
  border='0' height='32'  alt='Next Page' width='32' /></a></td>
<td align="center" width="100%">Python Library Reference</td>
<td class='online-navigation'><a rel="contents" title="Table of Contents"
  href="contents.html"><img src='../icons/contents.png'
  border='0' height='32'  alt='Contents' width='32' /></a></td>
<td class='online-navigation'><a href="modindex.html" title="Module Index"><img src='../icons/modules.png'
  border='0' height='32'  alt='Module Index' width='32' /></a></td>
<td class='online-navigation'><a rel="index" title="Index"
  href="genindex.html"><img src='../icons/index.png'
  border='0' height='32'  alt='Index' width='32' /></a></td>
</tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" href="node692.html">20.1.6 Handy Reference</a>
<b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="node692.html">20.1.6 Handy Reference</a>
<b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="node694.html">20.1.6.2 The Packer</a>
</div>
<hr /></div>
</div>
<!--End of Navigation Panel-->

<h3><a name="SECTION0022161000000000000000"></a><a name="tkinter-setting-options"></a>
<br>
20.1.6.1 Setting Options
               
</h3>

<p>
Options control things like the color and border width of a widget.
Options can be set in three ways:

<p>
<dl>
<dt><strong>At object creation time, using keyword arguments</strong></dt>
<dd>:
<div class="verbatim"><pre>
fred = Button(self, fg = "red", bg = "blue")
</pre></div>
</dd>
<dt><strong>After object creation, treating the option name like a dictionary index</strong></dt>
<dd>:
<div class="verbatim"><pre>
fred["fg"] = "red"
fred["bg"] = "blue"
</pre></div>
</dd>
<dt><strong>Use the config() method to update multiple attrs subsequent to
object creation</strong></dt>
<dd>:
<div class="verbatim"><pre>
fred.config(fg = "red", bg = "blue")
</pre></div>
</dd>
</dl>

<p>
For a complete explanation of a given option and its behavior, see the
Tk man pages for the widget in question.

<p>
Note that the man pages list "STANDARD OPTIONS" and "WIDGET SPECIFIC
OPTIONS" for each widget.  The former is a list of options that are
common to many widgets, the latter are the options that are
idiosyncratic to that particular widget.  The Standard Options are
documented on the <span class="manpage"><i>options</i>(3)</span> man page.

<p>
No distinction between standard and widget-specific options is made in
this document.  Some options don't apply to some kinds of widgets.
Whether a given widget responds to a particular option depends on the
class of the widget; buttons have a <code>command</code> option, labels do not. 

<p>
The options supported by a given widget are listed in that widget's
man page, or can be queried at runtime by calling the
<tt class="method">config()</tt> method without arguments, or by calling the
<tt class="method">keys()</tt> method on that widget.  The return value of these
calls is a dictionary whose key is the name of the option as a string
(for example, <code>'relief'</code>) and whose values are 5-tuples.

<p>
Some options, like <code>bg</code> are synonyms for common options with long
names (<code>bg</code> is shorthand for "background"). Passing the
<code>config()</code> method the name of a shorthand option will return a
2-tuple, not 5-tuple. The 2-tuple passed back will contain the name of
the synonym and the ``real'' option (such as <code>('bg',
'background')</code>).

<p>
<div class="center"><table class="realtable">
  <thead>
    <tr>
      <th class="center">Index</th>
      <th class="left"  >Meaning</th>
      <th class="left"  >Example</th>
      </tr>
    </thead>
  <tbody>
    <tr><td class="center" valign="baseline">0</td>
        <td class="left"  >option name</td>
        <td class="left"  ><code>'relief'</code></td></tr>
    <tr><td class="center" valign="baseline">1</td>
        <td class="left"  >option name for database lookup</td>
        <td class="left"  ><code>'relief'</code></td></tr>
    <tr><td class="center" valign="baseline">2</td>
        <td class="left"  >option class for database lookup</td>
        <td class="left"  ><code>'Relief'</code></td></tr>
    <tr><td class="center" valign="baseline">3</td>
        <td class="left"  >default value</td>
        <td class="left"  ><code>'raised'</code></td></tr>
    <tr><td class="center" valign="baseline">4</td>
        <td class="left"  >current value</td>
        <td class="left"  ><code>'groove'</code></td></tr></tbody>
</table></div>

<p>
Example:

<p>
<div class="verbatim"><pre>
&gt;&gt;&gt; print fred.config()
{'relief' : ('relief', 'relief', 'Relief', 'raised', 'groove')}
</pre></div>

<p>
Of course, the dictionary printed will include all the options
available and their values.  This is meant only as an example.

<p>

<div class="navigation">
<div class='online-navigation'>
<p></p><hr />
<table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr>
<td class='online-navigation'><a rel="prev" title="20.1.6 handy Reference"
  href="node692.html"><img src='../icons/previous.png'
  border='0' height='32'  alt='Previous Page' width='32' /></a></td>
<td class='online-navigation'><a rel="parent" title="20.1.6 handy Reference"
  href="node692.html"><img src='../icons/up.png'
  border='0' height='32'  alt='Up one Level' width='32' /></a></td>
<td class='online-navigation'><a rel="next" title="20.1.6.2 the Packer"
  href="node694.html"><img src='../icons/next.png'
  border='0' height='32'  alt='Next Page' width='32' /></a></td>
<td align="center" width="100%">Python Library Reference</td>
<td class='online-navigation'><a rel="contents" title="Table of Contents"
  href="contents.html"><img src='../icons/contents.png'
  border='0' height='32'  alt='Contents' width='32' /></a></td>
<td class='online-navigation'><a href="modindex.html" title="Module Index"><img src='../icons/modules.png'
  border='0' height='32'  alt='Module Index' width='32' /></a></td>
<td class='online-navigation'><a rel="index" title="Index"
  href="genindex.html"><img src='../icons/index.png'
  border='0' height='32'  alt='Index' width='32' /></a></td>
</tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" href="node692.html">20.1.6 Handy Reference</a>
<b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="node692.html">20.1.6 Handy Reference</a>
<b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="node694.html">20.1.6.2 The Packer</a>
</div>
</div>
<hr />
<span class="release-info">Release 2.5.1, documentation updated on 18th April, 2007.</span>
</div>
<!--End of Navigation Panel-->
<address>
See <i><a href="about.html">About this document...</a></i> for information on suggesting changes.
</address>
</body>
</html>
